1
Os Perigos da Gestão Manual de Memória
AI013Lesson 5
00:00

Gestão manual de memória por meio de new e delete cria um contrato frágil de "contrato de responsabilidade". O programador deve prever perfeitamente cada caminho de execução — incluindo retornos antecipados e exceções — para garantir que os recursos sejam liberados. Esse método é propenso a falhas sistêmicas.

As Falhas Sistêmicas

  • A Armadilha da Vazamento de Memória: Em lógica complexa (if-else, switches), falhar em emparelhar cada new com delete degrada o desempenho do sistema com o tempo.
  • Invalidações de Ponteiros: Erros como Ponteiros Pendurados (acessar memória após exclusão) ou Liberações Duplas geram comportamento indefinido e vulnerabilidades de segurança.
  • Segurança de Exceções: Se uma exceção ocorrer entre a alocação e a desalocação, o delete é ignorado completamente.
new char[]XRetorno Antecipado (Vazamento)XExceção (Vazamento)Defusores ()• std::unique_ptr• std::shared_ptr• std::weak_ptr

A Evolução

O C++11/14 modernizou o cabeçalho <memory> para afastar-se dos "ponteiros crus" em direção a modelos automatizados de propriedade que impõem segurança no nível do compilador.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>